home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / CodeWarrior interface / lisp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-13  |  619 b   |  29 lines  |  [TEXT/KAHL]

  1. /*
  2.     Internals
  3. */
  4.  
  5. #define ADD(x,n) (((long)(x))+(n))
  6. #define GET(x)   (*((long *)(x)))
  7. #define IND(x,n) (*((long *)ADD(x,n)))
  8. #define CLEAN(x) (((long)(x))&0xFFFFFFF8)
  9.  
  10. /*
  11.     Externals
  12. */
  13.  
  14. #define VECTOR(x)      ((long *)ADD(x,7))
  15. #define CHARACTER(x)   ((char)(((long)(x))>>16))
  16. #define STRUCTURE(x,s) ((struct s *)ADD(x,11))
  17. #define FLOAT(x)       ((short double *)CLEAN(x))
  18. #define STRING(x)      ((char *)ADD(x,7))
  19.  
  20. #define VECTOR_SIZE(x) (IND(x,4)&0x00FFFFFF)
  21. #define STRING_SIZE(x) VECTOR_SIZE(x)
  22.  
  23. #define CAR(x) IND(x,-4)
  24. #define CDR(x) GET(x)
  25.  
  26. #define BOX(x)   (((long)(x))<<3)
  27. #define UNBOX(x) (((long)(x))>>3)
  28.  
  29.